package com.xtravel.common.widget;

import android.content.Context;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.bitmap.BitmapDisplayConfig;
import com.lidroid.xutils.bitmap.core.BitmapSize;
import com.xtravel.R;

/**
 * Created by Kevin Lu on 2015/9/2.
 */
public class TweetImageView extends ImageView {

    // region 构造函数

    public TweetImageView(Context context) {
        super(context);
    }

    public TweetImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public TweetImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    // endregion

    // region 设置远程连接

    /**
     * 设置远程图片地址，原图大小（dp）
     */
    public void setImageUrl(BitmapUtils bitmapUtils, String imageUrl) {
        setImageUrl(bitmapUtils, imageUrl, 0, 0);
    }

    /**
     * 设置远程图片地址，指定高度和宽度，如果高度和宽度为 0 ，则自动为原图大小（dp）
     */
    public void setImageUrl(BitmapUtils bitmapUtils, String imageUrl, int width, int height) {
        BitmapDisplayConfig config = new BitmapDisplayConfig();
        config.setShowOriginal(false);
        config.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.fade_in));

        if (width > 0 && height > 0) {
            DisplayMetrics dm = getResources().getDisplayMetrics();
            width *= dm.density;
            height *= dm.density;

            config.setBitmapMaxSize(new BitmapSize(width, height));
        }

        bitmapUtils.display(this, imageUrl, config);
    }

    // endregion

}
